// pages/login/login.js
import {msgTip} from '../../utils/MsgTipApi';
import {wxLogin, findUserInfo} from '../../api/user'
import {storageSet} from '../../utils/storage'
import {userBehaviors} from '../../behaviors/userBehaviors'
import {websocket} from '@/utils/websocket'
Page({
  behaviors:[userBehaviors],
  /**
   * 页面的初始数据
   */
  data: {

  },

  // 登录
  appLogin(){
     wx.login({
      success: async (res) => { // 需要在这里加入async，否则后面的await无法使用
        let {code} = res;
        if(code){
        let data = await wxLogin(code)
        console.log(data);
        storageSet("token",data)

        // 调用action
        this.updateToken(data)
        wx.navigateBack({
          delta: 1
        })
        this.findUserInfo()
        }else{
          msgTip({title:"授权失败，请重新尝试"})
        }
      },
    })
  },
  async findUserInfo(){
    let data = await findUserInfo();
    storageSet('userInfo', data)
    // 建立一个WebSocket连接
    if(data){
      websocket.connect(data.id)
      // wx.connectSocket({
      //   url: `ws://127.0.0.1:8000/websocket/chat/${data.id}`,
      //   success: function(){
      //     console.log('通讯连接建立成功');
      //   },
      //   fail: function(){
      //     msgTip({title:'通讯服务建立失败'})
      //   }
      // })
    }else{
      msgTip({title:"查询用户信息失败，通讯连接失败"})
    }
    // 调用action方法
    this.updateUserInfo(data)
  },
  /**
   * 生命周期函数--监听页面加载
   */
  onLoad(options) {

  },

  /**
   * 生命周期函数--监听页面初次渲染完成
   */
  onReady() {

  },

  /**
   * 生命周期函数--监听页面显示
   */
  onShow() {

  },

  /**
   * 生命周期函数--监听页面隐藏
   */
  onHide() {

  },

  /**
   * 生命周期函数--监听页面卸载
   */
  onUnload() {

  },
})